//
// Created by de on 3/29/21.
//

#ifndef FORCEEIGENTEST_SQLSQLITEDAO_H
#define FORCEEIGENTEST_SQLSQLITEDAO_H

#include "sqlite3.h"
#include "SqlDaoInterface.h"
#include "sqlite_orm/sqlite_orm.h"

class SqlSqliteDao: public SqlDaoInterface {

public:
    SqlSqliteDao();

    bool connect() override;

    void selectProperty(const std::string &Property, std::string &result) override;


    bool checkTableExist() override;

    void removeAll();

    std::vector<WorkResult> getAll() ;

    double count(const std::string & property="id") override;

    void disconnect() override;

    void remove(const std::string &property, const std::string &value) override;

    double average(const std::string &property) override;


    bool insertObject(WorkResult &workResult1) override;



private:

private:
    WorkResult workResult;
};


#endif //FORCEEIGENTEST_SQLSQLITEDAO_H
